package com.cbts.service.info;

import java.util.List;


import com.cbts.entity.Gift;
import com.cbts.entity.Rule;
/**
 * @author 邱鸿辉
 *
 */

public interface ExchangeManagementService {

	/**
	 * 获取点数兑换规则
	 * @param id 规则id
	 * @return 点数兑换规则
	 */
	public Rule getRule(int id);
	/**
	 * 增加点数兑换规则
	 * @param rule 点数兑换规则
	 * @return 成功增加点数对话规则返回true，否则返回false
	 */
	public boolean addRule(Rule rule);
	/**
	 * 更新点数兑换规则
	 * @param rule 点数兑换规则
	 * @return 成功更新点数兑换规则则返回true，否则返回false
	 */
	public boolean updateRule(Rule rule);
	/**
	 * 增加兑换物品
	 * @param gift 兑换物品
	 * @return 成功兑换物品则返回true，否则返回false
	 */
	public boolean addGift(Gift gift);
	
	/**
	 * 删除兑换物品
	 * @param gift 兑换物品
	 * @return 成功删除兑换物品返回true，否则返回false
	 */
	public boolean deleteGift(Gift gift);
	/**
	 * 获取兑换物品
	 * @param id 物品id
	 * @return 兑换物品
	 */
	public Gift getGift(int id);
	/**
	 * 更新兑换物品
	 * @param gift 物品
	 * @return 成功更新兑换物品返回true，否则返回false
	 */
	public boolean updateGift(Gift gift);
	/**
	 * 获取全部兑换物品
	 * @return 全部兑换物品（列表）
	 */
	public List<Gift> getAllGift();
	/**
	 * 删除物品列表中的物品
	 *  @param giftList 物品列表
	 * @return 成功删除物品列表中的物品则返回true，否则返回false
	 */
	public boolean deleteGiftList(List<Gift> giftList);
	/**
	 * 修改物品列表中的物品
	 *  @param giftList 物品列表
	 * @return 成功修改物品列表中的列表则返回true，否则返回false
	 */
	public boolean updateGiftList(List<Gift> giftList);
	/**
	 * 获取用户勾选的物品
	 *  @param giftList 物品列表
	 *   @param check 被勾选的物品的giftId构成的字符串 
	 * @return 被用户勾选的物品列表
	 */
	public List<Gift> getSelectedGiftList(List<Gift> giftList,String check,String operate);
	/**
	 * 根据物品名获取物品
	 *  @param giftName 物品名
	 * @return 物品
	 */
	public Gift getGiftByGiftName(String giftName);
	/**
	 * 检查物品名是否存在
	 *  @param giftId 物品编号
	 *  @param giftName 物品名
	 * @return 存在则返回true，否则返回false
	 */
	public boolean sameGiftNameExist(Integer giftId,String giftName);
}
